package com.example.function_interface.consumer;

import com.example.function_interface.User;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.function.DoubleConsumer;

/**
 * 代表一个接受double值参数的操作，并且不返回结果。
 */
public class DoubleConsumerTest {

    @Test
    public void myTest() throws Exception{
        List<User> userList = new ArrayList<>();
        User user1 = new User(1, "张三", 12, false, 23.3);
        User user2 = new User(2, "李四", 22, false, 200);
        User user3 = new User(3, "王五", 32, true, 123.2);
        User user4 = new User(4, "郑静", 2, true, 0);
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);
        userList.add(user4);

        DoubleConsumer doubleConsumer = new DoubleConsumer() {
            @Override
            public void accept(double value) {
                System.out.println( "一半的钱是" + value * 0.5);
            }
        };

        DoubleConsumer doubleConsumer2 = doubleConsumer.andThen((money) -> System.out.println("10倍的钱是" + money * 10));

        doubleConsumer2.accept(user1.getMoney());

    }
}
